package com.ruoyi.report.mapper;

import com.ruoyi.report.domain.ReportTablebaseColumn;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 表格列数据Mapper接口
 * 
 * @author wry
 * @date 2023-06-20
 */
public interface ReportTablebaseColumnMapper 
{
    /**
     * 查询表格列数据
     * 
     * @param columnId 表格列数据主键
     * @return 表格列数据
     */
    public ReportTablebaseColumn selectReportTablebaseColumnByColumnId(Long columnId);

    /**
     * 查询表格列数据列表
     * 
     * @param reportTablebaseColumn 表格列数据
     * @return 表格列数据集合
     */
    public List<ReportTablebaseColumn> selectReportTablebaseColumnList(ReportTablebaseColumn reportTablebaseColumn);

    /**
     * 查询表格列数据列表
     *
     * @param tableId 表格列数据
     * @return 表格列数据集合
     */
    public List<ReportTablebaseColumn> selectReportTableBaseColumnAllByTableId(Long tableId);

    /**
     * 新增表格列数据
     * 
     * @param reportTablebaseColumn 表格列数据
     * @return 结果
     */
    public int insertReportTablebaseColumn(ReportTablebaseColumn reportTablebaseColumn);

    /**
     * 修改表格列数据
     * 
     * @param reportTablebaseColumn 表格列数据
     * @return 结果
     */
    public int updateReportTablebaseColumn(ReportTablebaseColumn reportTablebaseColumn);
    /**
     * 同步修改表格名称
     *
     * @param oldTableName 旧表格名称
     * @param newTableName 新表格名称
     * @return 结果
     */
    public int updateTableColumnByName(@Param("oldTableName") String oldTableName, @Param("newTableName") String newTableName);
    /**
     * 删除表格列数据
     * 
     * @param columnId 表格列数据主键
     * @return 结果
     */
    public int deleteReportTablebaseColumnByColumnId(Long columnId);

    /**
     * 批量删除表格列数据
     * 
     * @param columnIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteReportTablebaseColumnByColumnIds(Long[] columnIds);

    /**
     * 校验列名称是否唯一
     *
     * @param columnName 表格名称
     * @return 结果
     */
    public ReportTablebaseColumn checkReportColumnUnique(String columnName);
}
